ποΈGitΠ―ΡΠ°ποΈ
Mirrored from https://github.com/Smit1237/rnsbox.git synced 4h ago
A Reticulum router for the Sipeed LicheeRV Nano-e
σ° Files β’ σ±£ Work (0) β’ σ° Commits (3) β’ σ°¬ Branches (2) β’ σ°Ό Tags (0) β’ σ° Thanks (1) β’ ο Stats
>RNSBox β a Reticulum router for the Sipeed LicheeRV Nano-e
RNSBox turns a Sipeed LicheeRV Nano-e (SG2002, T-Head C906 RISC-V) into a
small, USB-C-powered Reticulum router and
transport node with an OpenWrt-style web admin UI.
It is distributed as a **patch series on top of the upstream Sipeed board
support package**, so this repository contains only the RNSBox delta β the
Linux kernel, Buildroot and the CVITEK/Sipeed BSP themselves come from
upstream and are fetched at build time.
β’ Upstream base: sipeed/LicheeRV-Nano-Build at commit T383838d4003f15b
β’ The delta: 21 patches in patches/, MIT-licensed
Quick start
One command clones the pinned upstream base, fetches the cross toolchain,
applies the patch series and builds:
T282828
git clone https://github.com/Smit1237/rnsbox
Tffa657cd rnsbox
./build.sh lite T8b949e# NCM-only image (~217 MB)
T8b949e# ./build.sh dvd # + a read-only disc of the latest Reticulum clients
The finished image lands under
T383838LicheeRV-Nano-Build/install/soc_sg2002_licheervnano_sd/images/. Flash it with
T383838dd (or a tool like balenaEtcher) to a microSD and boot the board.
β First build is long. It compiles a Rust host toolchain from source (needed for
β T383838python-cryptography on T383838riscv64-musl), so the first run takes roughly 40 minutes on a typical
β machine. Later builds reuse it.
Build host: a Linux machine set up for Buildroot (the upstream repo's
T383838host/ubuntu container works). T383838./build.sh needs T383838/usr/sbin on T383838PATH for
genimage's T383838mkdosfs; it handles this itself.
What it does
β’ T383838rnsd (Reticulum 1.5.2) runs as the long-lived service: a transport node
with a T383838TCPServerInterface on T3838380.0.0.0:4242, an T383838AutoInterface on the
USB-C LAN, and two public RNS-testnet uplinks preconfigured.
β’ USB-C gadget = LAN. The board presents a CDC-NCM network interface
(T383838usb0 = 10.42.0.1/24, dnsmasq DHCP + DNS). The DVD build additionally
exposes a read-only mass-storage "disc" pre-loaded with Reticulum client apps
for a zero-download quick start.
β’ eth0 = WAN, DHCP or static, with NAT masquerade plus per-rule port
forwarding and open-port management.
β’ T383838rnsbox-portal β a Flask admin UI on T383838http://10.42.0.1/ for network,
Reticulum, WiFi and system settings β including setting the clock from your
browser and configuring NTP servers, handy on a board with no RTC. It is the
single source of truth for the generated T383838nftables ruleset (boot and
live-apply both call the same module).
β’ Optional NomadNet LXMF / pages node (off by default) and AIC8800 WiFi
STA/AP support for the W board variant.
The design goal throughout is a minimal OS: the camera / display / audio / NPU
/ codec middleware of the stock BSP is stripped so nearly all of the 256 MB
DDR is available to Linux and the router data plane.
Repository layout
T282828
patches/ the 21-patch RNSBox series (git am-able onto d4003f15b)
build.sh one-command: clone upstream -> apply patches -> build
LICENSE MIT (the RNSBox delta)
README.md this file
Applying the series brings the full documentation into the built tree
(T383838README.RNSBox.md, T383838APPLYING.md) alongside the RNSBox sources.
Hardware
β’ Sipeed LicheeRV Nano-e (no radio) or Nano-e W (AIC8800 WiFi). One image
serves both; WiFi bring-up is a clean no-op where there is no radio.
β’ microSD: the DVD build's size tracks the current client releases (~3.3 GB
now; use a card comfortably larger, e.g. 8 GB); the lite build is ~217 MB.
The rootfs auto-grows to fill the card on first boot.
Default credentials
βββββββββββ¬ββββββββ¬βββββββββββ
β Service β User β Password β
βββββββββββΌββββββββΌβββββββββββ€
β SSH β root β admin β
β Web UI β admin β admin β
βββββββββββ΄ββββββββ΄βββββββββββ
Change these on first use. The web password is stored hashed (pbkdf2) in
T383838/etc/rnsbox/auth.json after first login; the Flask session key is generated
at runtime and never stored in the source tree.
Applying the patches by hand
If you would rather drive it yourself instead of T383838build.sh:
T282828
git clone https://github.com/sipeed/LicheeRV-Nano-Build.git
Tffa657cd LicheeRV-Nano-Build
git checkout d4003f15b35d43ad4842f427050ab2bba0114fa5
git clone --depthTff7b72=T79c0ff1 https://github.com/sophgo/host-tools host-tools
git am /path/to/rnsbox/patches/*.patch
Tffa657source build/cvisetup.sh Tff7b72&& defconfig sg2002_licheervnano_sd Tff7b72&& build_all
./build-rnsbox.sh lite T8b949e# or: ./fetch-clients.sh && ./build-rnsbox.sh dvd
Licensing
β’ The RNSBox code in this patch series (the T383838rnsbox-portal app, init
scripts, Buildroot package recipes, build scripts and configuration) is
released under the MIT License β see LICENSE.
β’ The upstream BSP (Linux kernel, Buildroot, Sipeed / CVITEK sources)
remains under its own respective licenses.
β’ The bundled Reticulum client applications are downloaded at build time,
not redistributed here. They carry their own licenses, some of which are
non-commercial (e.g. Sideband, CC BY-NC-SA) or copyleft (e.g. Ratspeak,
AGPL-3.0); review them before redistributing any built image.
Support RNSBox
RNSBox is free and open source (MIT). If it's useful to you, you can support
ongoing development, test hardware, and hosting for the Reticulum testnet
uplinks with a crypto donation. The web UI also has a Donate page
(sidebar β Donate) with a scannable QR code for each wallet.
βββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Coin β Address β
βββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Bitcoin (BTC) β T383838bc1q559qfr8nlqr2s6p07hgm03x357mncydehntdmlj7hu2qaud8wkqsgycagh β
β Ethereum (ETH) β T3838380x5bc9b408d67c4b8294290e1dd281526be5913864 β
β Solana (SOL) β T383838HjpiqhDdLd3p2ZcutYFptjX9TFiNYMWFGZUGVQnfesxM β
β Litecoin (LTC) β T383838ltc1qaatf3kken6peg8z6s840w4kjad643y9gptt9775zgwkhpzuyxl3qjrpss2 β
β Dogecoin (DOGE) β T3838389umb1Mqvq5bYg7AG8fFghvzsFHZo9fnBmf β
βββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Served by rngit 1.5.4 - Generated in 0.14s